//
//  LBAlert.h
//  LBAlert
//
//  Created by LINAICAI on 2017/7/31.
//  Copyright © 2017年 LINAICAI. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "LBAlertInputTextView.h"
#import "LBAlertInputTextField.h"
#import "LBAlertMessage.h"
#import "LBAlertView.h"
#import "LBAlertMainView.h"
#import "LBAlertHeaderView.h"
#import "LBAlertCloseButton.h"
#import "LBAlertFooterView.h"

@class LBAlertInputTextView,LBAlertInputTextField,LBAlertView,LBAlertMessage,LBAlertMainView,LBAlertHeaderView,LBAlertFooterView,LBAlertCloseButton;

//回调
typedef void(^completedHander)(NSInteger answer);
typedef void(^inputTextViewCompleteHander)(LBAlertInputTextView *input , NSInteger answer);
typedef void(^inputTextFieldCompleteHander)(LBAlertInputTextField *input , NSInteger answer);


@interface LBAlert : NSObject
//-----------------------普通文本提示框-----------------------------//
+ (void)say:(NSString *)message;
+ (void)say:(completedHander)block message:(NSString *)message;
+ (void)say:(completedHander)block title:(NSString *)title message:(NSString *)message;

//-----------------------普通文本询问框-----------------------------//
+ (void)ask:(completedHander)block message:(NSString *)message buttons:(NSArray<NSString *> *)buttons;
+ (void)ask:(completedHander)block title:(NSString *)title message:(NSString *)message buttons:(NSArray<NSString *> *)buttons;
+ (void)ask:(completedHander)block title:(NSString *)title message:(NSString *)message buttons:(NSArray<NSString *> *)buttons hasCloseButton:(BOOL)hasCloseButton;

//-----------------------富文本提示框-----------------------------//
+ (void)showWithMessage:(NSAttributedString *)message;
+ (void)showWithTitle:(NSString *)title attributedMessage:(NSAttributedString *)attributedMessage;
+ (void)show:(completedHander)block title:(NSString *)title attributedMessage:(NSAttributedString *)attributedMessage;
+ (void)show:(completedHander)block title:(NSString *)title attributedMessage:(NSAttributedString *)attributedMessage buttons:(NSArray<NSString *> *)buttons;
+ (void)show:(completedHander)block title:(NSString *)title attributedMessage:(NSAttributedString *)attributedMessage buttons:(NSArray<NSString *> *)buttons hasCloseButton:(BOOL)hasCloseButton;
//-----------------------成功提示框-----------------------------//
+ (void)showSuccessWithMessage:(NSString *)message;
+ (void)showSuccessWithTitle:(NSString *)title message:(NSString *)message;
+ (void)showSuccessWithTitle:(NSString *)title message:(NSString *)message  buttons:(NSArray<NSString *> *)buttons;
+ (void)showSuccessWithTitle:(NSString *)title message:(NSString *)message  buttons:(NSArray<NSString *> *)buttons block:(completedHander)block;
//-----------------------错误提示框-----------------------------//
+ (void)showErrorWithMessage:(NSString *)message;
+ (void)showErrorWithTitle:(NSString *)title message:(NSString *)message;
+ (void)showErrorWithTitle:(NSString *)title message:(NSString *)message  buttons:(NSArray<NSString *> *)buttons;
+ (void)showErrorWithTitle:(NSString *)title message:(NSString *)message  buttons:(NSArray<NSString *> *)buttons block:(completedHander)block;
//-----------------------自定义图片信息提示框-----------------------------//
+ (void)showImageWith:(UIImage *)image message:(NSString *)message;
+ (void)showImageWith:(UIImage *)image title:(NSString *)title message:(NSString *)message;
+ (void)showImageWith:(UIImage *)image title:(NSString *)title message:(NSString *)message  buttons:(NSArray<NSString *> *)buttons;
+ (void)showImageWith:(UIImage *)image title:(NSString *)title message:(NSString *)message  buttons:(NSArray<NSString *> *)buttons block:(completedHander)block;
//-----------------------Header是图片+内容是文本的提示框-----------------------------//
+ (void)showHeaderImage:(UIImage *)headerImage message:(NSString *)message;
+ (void)showHeaderImage:(UIImage *)headerImage message:(NSString *)message buttons:(NSArray<NSString *> *)buttons;
+ (void)showHeaderImage:(UIImage *)headerImage message:(NSString *)message buttons:(NSArray<NSString *> *)buttons block:(completedHander)block hasCloseButton:(BOOL)hasCloseButton;

//-----------------------Header是图片+内容是富文本的提示框-----------------------------//
+ (void)showHeaderImage:(UIImage *)headerImage attributedMessage:(NSAttributedString *)attributedMessage;
+ (void)showHeaderImage:(UIImage *)headerImage attributedMessage:(NSAttributedString *)attributedMessage buttons:(NSArray<NSString *> *)buttons;
+ (void)showHeaderImage:(UIImage *)headerImage attributedMessage:(NSAttributedString *)attributedMessage buttons:(NSArray<NSString *> *)buttons block:(completedHander)block hasCloseButton:(BOOL)hasCloseButton;

//-----------------------自定义视图的提示框-----------------------------//
+ (void)showCustom:(UIView *)custom;
+ (void)showCustom:(UIView *)custom title:(NSString *)title;
+ (void)showCustom:(UIView *)custom buttons:(NSArray<NSString *> *)buttons;
+ (void)showCustom:(UIView *)custom title:(NSString *)title buttons:(NSArray<NSString *> *)buttons;
+ (void)showCustom:(UIView *)custom title:(NSString *)title buttons:(NSArray<NSString *> *)buttons block:(completedHander)block hasCloseButton:(BOOL)hasCloseButton;

//-----------------------输入视图TextView的提示框-----------------------------//
+ (void)showInputTextViewWithMessage:(NSString *)message limit:(NSInteger)limit placeholder:(NSString *)placeholder buttons:(NSArray<NSString *> *)buttons block:(inputTextViewCompleteHander)block;
+ (void)showInputTextViewWithTitle:(NSString *)title message:(NSString *)message limit:(NSInteger)limit placeholder:(NSString *)placeholder buttons:(NSArray<NSString *> *)buttons block:(inputTextViewCompleteHander)block;
+ (void)showInputTextViewWithTitle:(NSString *)title message:(NSString *)message limit:(NSInteger)limit placeholder:(NSString *)placeholder buttons:(NSArray<NSString *> *)buttons block:(inputTextViewCompleteHander)block hasCloseButton:(BOOL)hasCloseButton;

//-----------------------输入视图TextField的提示框-----------------------------//
+ (void)showInputTextFieldWithMessage:(NSString *)message limit:(NSInteger)limit placeholder:(NSString *)placeholder buttons:(NSArray<NSString *> *)buttons block:(inputTextFieldCompleteHander)block;
+ (void)showInputTextFieldWithTitle:(NSString *)title message:(NSString *)message limit:(NSInteger)limit placeholder:(NSString *)placeholder buttons:(NSArray<NSString *> *)buttons block:(inputTextFieldCompleteHander)block;
+ (void)showInputTextFieldWithTitle:(NSString *)title message:(NSString *)message limit:(NSInteger)limit placeholder:(NSString *)placeholder buttons:(NSArray<NSString *> *)buttons block:(inputTextFieldCompleteHander)block hasCloseButton:(BOOL)hasCloseButton;
@end
